package rsj.api.customer.entity;

import com.alibaba.fastjson.annotation.JSONField;
import common.checkgroup.AddGroup;
import common.checkgroup.UpdateGroup;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import javax.validation.groups.Default;
import java.time.LocalDateTime;

/**
 * 客户实体
 *
 * @author yuanqinglong
 * @since 2021/7/14 11:33
 */
@Data
public class Customer {

    /**
     * 客户编号（自增）
     */
    @NotNull(message = "客户编号不可为空", groups = {UpdateGroup.class})
    @Null(message = "新增客户编号不可赋值", groups = {AddGroup.class, Default.class})
    private String custId;
    /**
     * 客户简称
     */
    @NotBlank(message = "客户简称不可为空")
    private String custSname;
    /**
     * 客户全称
     */
    @NotBlank(message = "客户全称不可为空")
    private String custName;
    /**
     * 统一社会信用代码
     */
    @NotBlank(message = "统一社会信用代码不可为空")
    private String custCreditcode;
    /**
     * 法人代表姓名
     */
    @NotBlank(message = "法人代表姓名不可为空")
    private String custLegname;
    /**
     * 办公地址
     */
    @NotBlank(message = "办公地址不可为空")
    private String custAddr;
    /**
     * 运营负责人姓名
     */
    @NotBlank(message = "运营负责人姓名不可为空")
    private String custManoper;
    /**
     * 运营负责人手机
     */
    @NotBlank(message = "运营负责人手机不可为空")
    private String custManoperphone;
    /**
     * 运营负责人邮箱
     */
    @NotBlank(message = "运营负责人邮箱不可为空")
    private String custManopermail;
    /**
     * 技术负责人姓名
     */
    @NotBlank(message = "技术负责人姓名不可为空")
    private String custMantech;
    /**
     * 技术负责人手机
     */
    @NotBlank(message = "技术负责人手机不可为空")
    private String custMantechphone;
    /**
     * 技术负责人邮箱
     */
    @NotBlank(message = "技术负责人邮箱不可为空")
    private String custMantechmail;
    /**
     * 我司商务负责人姓名
     */
    @NotBlank(message = "我司商务负责人姓名不可为空")
    private String custManbus;
    /**
     * 我司商务负责人手机
     */
    @NotBlank(message = "我司商务负责人手机不可为空")
    private String custManbusphone;
    /**
     * 我司商务负责人邮箱
     */
    @NotBlank(message = "我司商务负责人邮箱不可为空")
    private String custManbusmail;
    /**
     * 更新tm
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTm;
    /**
     * 拼接的客户id
     */
    private String custShowId;

}
